// 用户信息处理函数

const db = require('../db')
const bcrypt = require('bcryptjs')
const path = require('path')

// 获取用户信息处理函数
exports.userInfo = (req, res) => {
  const sql = 'select name,phone,qq,wx,school,address,img from user where id=?'

  db.query(sql, req.query.id, (err, results) => {
    if (err) {
      return res.ss(err)
    }
    if (results.length <= 0) {
      return res.ss('用户信息获取失败！')
    }
    res.send({
      state: 200,
      message: '获取用户信息成功！',
      data: {...results[0], password: ''}
    })
  })
}

// 获取当前登录用户的信息
exports.loginUserInfo = (req, res) => {
  const sql = 'select name,phone,qq,wx,school,address,img from user where id=?'

  db.query(sql, req.auth.id, (err, results) => {
    if (err) {
      return res.ss(err)
    }
    if (results.length !== 1) {
      return res.ss('获取登录用户信息失败')
    }
    res.send({
      state: 200,
      message: '获取登录用户信息成功',
      data: results[0]
    })
  })
}

// 修改当前用户头像
exports.updateImg = (req, res) => {
  const sql = 'update user set ? where id=?'
  console.log(req)
  const body = {
    img: 'http://127.0.0.1:8000/upload/image/' + req.file.filename
  }
  db.query(sql, [body, req.auth.id], (err, results) => {
    if (err) {
      return res.ss(err)
    }
    console.log(results.affectedRows)
    if (results.affectedRows !== 1) {
      return res.ss('修改用户信息失败！')
    }
    res.ss('修改用户信息成功！', 200)
  })
}

// 修改用户信息
exports.updateInfo = (req, res) => {
  const body = req.body
  const sql = 'update user set ? where id=?'
  console.log(req.body)
  db.query(sql, [body, req.auth.id], (err, results) => {
    if (err) {
      return res.ss(err)
    }
    if (results.affectedRows !== 1) {
      return res.ss('修改用户信息失败！')
    }
    res.send({
      state: 200,
      message: '修改用户信息成功！',
    })
  })
}

// 修改当前用户手机号和密码处理函数
exports.dtPassword = (req, res) => {
  const body = req.body
  const sql = 'update user set ? where id=?'
  body.password = bcrypt.hashSync(body.password, 10)

  db.query(sql, [body, req.auth.id], (err, results) => {
    if (err) {
      return res.ss(err)
    }
    if (results.affectedRows !== 1) {
      return res.ss('修改失败！')
    }
    res.ss('修改成功！', 200)
  })
}